package com.bestcem.xm.award.service.mq.send;

import com.bestcem.xm.award.mq.dto.*;

import java.util.Date;

/**
 * @author leilei.zang
 */
public interface AwardMessageService {
    /**
     * 发送延迟开始抽奖奖励消息失败
     */
    void awardDrawStartSend(DrawAwardStartDTO drawAwardStartDTO, Date delayDate);

    /**
     * 发送延迟结束抽奖奖励消息失败
     */
    void awardDrawStopSend(DrawAwardStopDTO drawAwardStopDTO, Date delayDate);

    /**
     * 奖励发送清理临时表通知
     */
    void awardTempCleanSend(TempCleanDTO tempCleanDTO, int delayDate);

    /**
     * 奖励发送红包开始消息
     */
    void awardRedPacketStartSend(RedPacketAwardStartDTO redPacketAwardStartDTO, Date delayDate);

    /**
     * 奖励发送红包结束消息
     */
    void awardRedPacketStopSend(RedPacketAwardStopDTO redPacketAwardStopDTO, Date delayDate);

    /**
     * 奖励消费查询红包发放结果消息
     */
    void awardRedPacketSendingSend(RedPacketAwardSendingDTO redPacketAwardSendingDTO, int i);

    /**
     * 奖励消费奖励开始消息
     */
    void awardAwardStartSend(AwardStartDTO awardStartDTO, Date startTime);

    /**
     * 奖励消费奖励结束消息
     */
    void awardAwardStopSend(AwardStopDTO awardStopDTO, Date startTime);

    /**
     * 发送中奖短信通知消息
     */
    void awardDrawSmsSend(DrawAwardSendSmsDTO smsDTO);

    /**
     * 项目更新-fanout
     */
    void qdesProjectUpdatedSend(ProjectUpdatedDTO projectUpdatedDTO);

    /**
     * 奖励通知-工单通知触发队列消息
     */
    void notificationTriggerSend(TicketNotificationTriggerDTO notificationTriggerDTO);
}
